Администрирование сетевых подсистем

Лабораторная работа №4.

Тойчубекова Асель Нурлановна

Российский университет дружбы народов

2025-09-27

Информация

Докладчик

  • Тойчубекова Асель Нурлановна
  • Студент 3 курса
  • факультет физико-математических и естественных наук
  • Российский университет дружбы народов им. П. Лумумбы
  • 1032235033@rudn.ru

Цель работы

Приобретение практических навыков по установке и базовому конфигурированию HTTP-сервера Apache.

Задание

  1. Установите необходимые для работы HTTP-сервера пакеты.

  2. Запустите HTTP-сервер с базовой конфигурацией и проанализируйте его работу.

  3. Настройте виртуальный хостинг.

  4. Напишите скрипт для Vagrant, фиксирующий действия по установке и настройке HTTP-сервера во внутреннем окружении виртуальной машины server. Соответствующим образом внесите изменения в Vagrantfile.

Теоретическое введение

HTTP (HyperText Transfer Protocol) — протокол передачи данных в сети, основанный на модели «клиент–сервер». Гипертекст — это текст со ссылками на другие записи или страницы.

Теоретическое введение

HTTP-сервер (например, Apache, nginx, Lighttpd) принимает запросы и отправляет ответы. HTTP-клиент (браузер или веб-приложение) отправляет запросы и получает ответы.

Теоретическое введение

В Linux для работы с HTTP используется демон httpd. Основной конфигурационный файл Apache — httpd.conf, где задаются директивы для управления сервером.

Выполнение лабораторной работы

Выполнение лабораторной работы

Для начала лабораторной работы я запускаю вм server. Далее перехожу к моему пользователю и и перехожу в режим суперпользователя. Затем установливаю из репозитория стандартный веб-сервер (HTTP-сервер и утилиты httpd,криптоутилиты и пр.)

Выполнение лабораторной работы

Установка веб-сервера

Выполнение лабораторной работы

Установка веб-сервера

Перейдем в каталог /etc/httpd/conf, там мы видим конфигурационный файл httpd.conf.

httpd.conf

Выполнение лабораторной работы

httpd.conf

Выполнение лабораторной работы

В файле httpd.conf описываются основные параметры работы веб-сервера Apache.

Общие параметры сервера

В httpd.conf существуют такие группы настроек:

  • ServerRoot — корневой каталог Apache.

  • PidFile — файл с идентификатором процесса сервера.

  • Timeout — время ожидания ответов.

Выполнение лабораторной работы

Сетевые настройки

  • Listen — IP-адрес и порт для приёма запросов.

  • ServerName — имя сервера (домен или хост).

Документы и каталоги

  • DocumentRoot — корневой каталог сайта.

  • — правила доступа к папкам.

  • Alias — создание псевдонимов для каталогов.

Выполнение лабораторной работы

Права и безопасность

  • AllowOverride — разрешение или запрет использования .htaccess.

  • Require — кто может получать доступ (например, all granted или по IP).

Выполнение лабораторной работы

Модули

  • LoadModule — подключение дополнительных модулей (например, PHP, SSL).

  • Логирование

  • ErrorLog — файл с ошибками.

  • CustomLog — файл с журналом запросов.

Виртуальные хосты

  • — настройка нескольких сайтов на одном сервере.

Выполнение лабораторной работы

Далее перейдем в каталог /etc/httpd/conf.d. Просмотрим все конфигурационные файлы.

autoindex.conf

Выполнение лабораторной работы

autoindex.conf

Выполнение лабораторной работы

Файл autoindex.conf в Apache описывает настройки модуля mod_autoindex, который отвечает за автоматическую генерацию индексных страниц при доступе к директориям без файла index.html или index.php.

Выполнение лабораторной работы

В autoindex.conf задаются:

Включение/отключение генерации списков каталогов: Options +Indexes

или отключение: Options -Indexes

Выполнение лабораторной работы

Формат отображения списков:

FancyIndexing — красивый вывод с иконками и дополнительной информацией.

HeaderName — указание файла, который будет отображаться вверху списка (например, HEADER.html).

ReadmeName — файл с дополнительной информацией внизу списка.

Выполнение лабораторной работы

Сортировка и отображение информации о файлах:

IndexOptions — набор опций для вывода:

NameWidth=* — ширина столбца имени файла

SuppressDescription — скрыть описания файлов

SuppressHTMLPreamble — убрать стандартный HTML-шаблон

Выполнение лабораторной работы

Иконки для файлов и папок:

Настройка, какие иконки показывать для разных типов файлов (AddIcon, AddIconByEncoding и т.д.) распиши это в виде абзацев

Выполнение лабораторной работы

fcgid.conf

Выполнение лабораторной работы

В этом файле fcgid.conf содержится конфигурация Apache для модуля mod_fcgid, который обеспечивает поддержку FastCGI.

В комментариях указано назначение файла — настройка FastCGI через mod_fcgid и ссылка на документацию.

Выполнение лабораторной работы

Строка

AddHandler fcgid-script fcg fcgi fpl

говорит, что файлы с расширениями .fcg, .fcgi и .fpl должны обрабатываться как FastCGI-скрипты.

Выполнение лабораторной работы

Далее задаются пути для служебных файлов:

FcgidIPCDir /run/mod_fcgid FcgidProcessTableFile /run/mod_fcgid/fcgid_shm

FcgidIPCDir — директория для сокетов, через которые Apache взаимодействует с FastCGI-процессами.

FcgidProcessTableFile — файл для хранения таблицы процессов и разделяемой памяти, нужной для работы FastCGI.

Выполнение лабораторной работы

manual.conf

Выполнение лабораторной работы

В файле manual.conf настроен доступ к встроенной документации Apache.

Директива

Alias /manual /usr/share/httpd/manual

указывает, что при обращении к адресу http://localhost/manual/ сервер будет выдавать файлы из каталога /usr/share/httpd/manual.

Выполнение лабораторной работы

В блоке для этой папки заданы параметры:

Options Indexes — разрешает показ списка файлов, если нет индексной страницы.

AllowOverride None — отключает переопределение настроек через .htaccess.

Require all granted — открывает доступ всем пользователям.

Выполнение лабораторной работы

Директива

  • RedirectMatch 301 ^/manual/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn)(/.*)$ “/manual$1”

выполняет перенаправление: если пользователь заходит на документацию с указанием языка (например, /manual/ru/), его перенаправляют на общий путь /manual/….

Выполнение лабораторной работы

ssl.conf

Выполнение лабораторной работы

Файл ssl.conf — это конфигурация Apache для поддержки SSL/TLS (HTTPS).

В нём указываются:

Включение SSL для виртуального хоста:

<VirtualHost *:443> SSLEngine on

Выполнение лабораторной работы

Путь к сертификату и приватному ключу:

SSLCertificateFile /etc/pki/tls/certs/server.crt

SSLCertificateKeyFile /etc/pki/tls/private/server.key

Выполнение лабораторной работы

(Опционально) цепочка сертификатов:

SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt

Протоколы и шифры, которые разрешены или запрещены:

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite HIGH:!aNULL:!MD5

Выполнение лабораторной работы

Настройки виртуальных хостов на 443 порту (аналогично httpd.conf, но с поддержкой SSL).

Параметры безопасности, например:

использование только надёжных шифров,

включение HSTS,

запрет слабых протоколов (SSLv2, SSLv3).

Выполнение лабораторной работы

userdir.conf

Выполнение лабораторной работы

Файле userdir.conf задаются параметры работы модуля mod_userdir, который позволяет отображать содержимое личных веб-папок пользователей (обычно ~/public_html) по URL типа http://site/~username/.

Выполнение лабораторной работы

Обёртка <IfModule mod_userdir.c> — настройки применяются только если модуль включён.

UserDir disabled — функциональность отключена по умолчанию (чтобы не раскрывать наличие пользователей на системе). В комментариях показано, как её включить: заменить строку на UserDir public_html.

Выполнение лабораторной работы

Блок <Directory “/home/*/public_html”> — правила доступа для всех public_html в домашних каталогах:

AllowOverride FileInfo AuthConfig Limit Indexes — какие директивы из .htaccess разрешено переопределять;

Options MultiViews Indexes SymLinks IfOwnerMatch Includes NoExec — набор опций (мультипросмотры, индексирование каталогов, симлинки, включаемые файлы и запрет выполнения бинарников и т.п.);

Require method GET POST OPTIONS — какие HTTP-методы разрешены (здесь только чтение/отправка форм и preflight).

Выполнение лабораторной работы

welcome.conf

Выполнение лабораторной работы

Файл welcome.conf управляет отображением стандартной стартовой страницы Apache (“Welcome page”). Первый блок описывает, что если пользователь заходит на корневой URL (/), а индексного файла нет, сервер отдаст страницу .noindex.html из системного каталога. Второй блок разрешает доступ ко всем файлам в каталоге /usr/share/httpd/noindex, где хранится шаблон “Welcome page”.

Выполнение лабораторной работы

Директивы Alias создают псевдонимы, чтобы сервер мог найти файлы для отображения стандартной страницы:

/.noindex.html → /usr/share/httpd/noindex/index.html` (сама страница приветствия)

/poweredby.png → /usr/share/httpd/icons/apache_pb3.png` (иконка Apache)

/system_noindex_logo.png → /usr/share/httpd/icons/system_noindex_logo.png` (логотип системы).

Выполнение лабораторной работы

Внесем изменения в настройки межсетевого экрана узла server, разрешив работу с http.

Настройка межсетевого экрана

Выполнение лабораторной работы

Настройка межсетевого экрана

Выполнение лабораторной работы

В дополнительном терминале запустим в режиме реального времени расширенный лог системных сообщений, чтобы проверить корректность работы системы.

Расширенный лог системных сообщений

Выполнение лабораторной работы

В первом терминале активируем и запустите HTTP-сервер.

Запуск HTTP-сервера

Выполнение лабораторной работы

Просмотрев расширенный лог системных сообщений, мы видим, что веб-сервер успешно запустился.

Расширенный лог системных сообщений

Выполнение лабораторной работы

Далее запустим вм client. А на вм server просмотрим лог ошибок работы веб-сервера.

Лог ошибок работы веб-сервера

Выполнение лабораторной работы

На виртуальной машине server запустим мониторинг доступа к веб-серверу.

Мониторинг доступа к веб-серверу

Выполнение лабораторной работы

На виртуальной машине client запустим браузер и в адресной строке введем 192.168.1.1. Мы видим, что на экране появилась страничка http server test page.

Выполнение лабораторной работы

http server test page

Выполнение лабораторной работы

Настроим виртуальный хостинг по двум DNS-адресам: server.antoychubekova.net и www.antoychubekova.net. Остановим работу DNS-сервера для внесения изменений в файлы описания DNS-зон.

Остановка работы DNS-сервера

Выполнение лабораторной работы

Добавьте запись для HTTP-сервера в конце файла прямой DNS-зоны /var/named/master/fz/antoychubekova.net

Редактирование DNS-зоны

Выполнение лабораторной работы

И в конце файла обратной зоны /var/named/master/rz/192.168.1.

Редактирование обратной DNS-зоны

Выполнение лабораторной работы

Удалим файлы журналов DNS: antoychubekova.net.jnl и 192.168.1.jnl.

Удаление журналов

Выполнение лабораторной работы

Перезапустим DNS-сервер.

Перезапуск DNS-сервера

Выполнение лабораторной работы

В каталоге /etc/httpd/conf.d создадим файлы server.antoychubekova.net.conf и www.antoychubekova.antoychubekova.conf.

Создание конфигурационных файлов

Выполнение лабораторной работы

Откроем на редактирование файл server.antoychubekova.antoychubekova.conf и внесем некоторые изменения.

Редактирование server.antoychubekova.net.conf

Выполнение лабораторной работы

Откроем на редактирование файл www.antoychubekova.net.conf и внесем некоторые изменения.

Редактирование www.antoychubekova.net.conf

Выполнение лабораторной работы

Перейдем в каталог /var/www/html, в котором должны находиться файлы с содержимым (контентом) веб-серверов, и создадим тестовые страницы для виртуальных веб-серверов server.antoychubekova.net и www.antoychubekova.net.

Выполнение лабораторной работы

Для виртуального веб-сервера server.antoychubekova.net.

Создание тестовой страницы

Выполнение лабораторной работы

Откроем на редактирование файл index.html и внесем следующее содержание: Welcome to the server.antoychubekovar.net server.

Редактирование index.html

Выполнение лабораторной работы

Для виртуального веб-сервера www.antoychubekova.net.

Создание тестовой страницы

Выполнение лабораторной работы

Откроем на редактирование файл index.html и внесем следующее содержание: Welcome to the www.antoychubekova.net.

Редактирование index.html

Выполнение лабораторной работы

Скорректируем права доступа в каталог с веб-контентом. Восстановим контекст безопасности в SELinux. Перезапустим HTTP-сервер.

Запуск HTTP-сервера

Выполнение лабораторной работы

На виртуальной машине client убедимся в корректном доступе к веб-серверу по адресам server.antoychubekova.net и www.antoychubekova.net в адресной строке веб-браузера. Мы видим, что странички успешно открываются.

Выполнение лабораторной работы

Страница server.antoychubekova.net

Выполнение лабораторной работы

Страница www.antoychubekova.net

Выполнение лабораторной работы

На виртуальной машине server перейдем в каталог для внесения изменений в настройки внутреннего окружения /vagrant/provision/server/, создадим в нём каталог http, в который поместим в соответствующие подкаталоги конфигурационные файлы HTTP-сервера.

Выполнение лабораторной работы

Конфигурационные файлы HTTP-сервера

Выполнение лабораторной работы

Заменим конфигурационные файлы DNS-сервера.

Замена конфигурационных файлов DNS-сервера

Выполнение лабораторной работы

В каталоге /vagrant/provision/server создадим исполняемый файл http.sh.

Создание исполняемого файла

Выполнение лабораторной работы

Открыв его на редактирование, пропишим в нём скрипт, который по сути, повторяет произведённые нами действия по установке и настройке HTTP-сервера.

Выполнение лабораторной работы

Редактирование исполняемого файла

Выполнение лабораторной работы

Для отработки созданного скрипта во время загрузки виртуальных машин в конфигурационном файле Vagrantfile необходимо добавить в конфигурации сервера следующую запись:

server.vm.provision “server http”,

type: “shell”,

preserve_order: true,

path: “provision/server/http.sh”

Выполнение лабораторной работы

Редактирование Vagrantfile